Apart from the exception of e-mail, few computer applications in history have grown as fast as instant messaging (IM). With a solid base of IM—users in residential environments, the IM revolution has in recent years turned towards the business users. This adds to the already packed pool of communication opportunities and tools which are readily available for the average business man. A generic business man has e-agendas, e-mail, IM applications, electronic phone books, mobile phones, video conferencing opportunities, office phones, home office phones, etc. In fact, in today's world, people can communicate with “anyone, anytime, anyplace”. However, as all these opportunities arise, so do problems. There are few people who want to communicate with anyone at any time in any place. There are times when you don't want to be disturbed (e.g. during important meetings, at seminars, during lunch break, etc). On the other side of the playing field, there are often times when you can't get hold of the person you wish to speak to. This can e.g. be because the person your are trying to reach is not in the location he/she is expected to be, or because the person you try to reach does not want to be disturbed, etc. Independent of whether you are the caller or the receiver of a communication session, lack of information about the availability of the receiver is the main cause for inappropriate or failed communication.
For the purpose of illustrating the problem at hand, we look at a scenario from a common office situation; Alice, a project manager for a large telecommunication firm, is about to leave her home office to attend a business meeting with some regular clients. She then suddenly remembers that her own department forgot to give her the last update on an important decision which the client just made. As this comes to mind, Alice brings up her phone book on her video conferencing system, and starts making calls. Knowing that Bob, the client's regular contact, is working from home and that he just had twin sons, she does not want to disturb Bob unnecessarily. Alice therefore figures that he is properly not her best choice. She decides to call Tim, a senior software developer in her project group. The phone book has four tuples for Tim; video phone, office phone, home office phone and mobile phone. As Alice is unaware of Tim's presence and location, she places her first call to his video phone. Tim however, just left for lunch, and is therefore not available on any of the office phones. After some minutes, Alice then tries to place a call to Tim's mobile phone. Since Tim is at lunch, he has to run back up to the office to fetch the information which Alice was after, and this takes quite some time. As a consequence of this, Alice misses her train, and is half an hour late for her meeting. Throughout this situation, Bob has been at his computer in his home office. As his wife is home on maternity leave, he hasn't been disturbed all day, but feels a bit disconnected from the rest of his firm.
When interacting and talking with each other, humans are quite successful at conveying information and reacting appropriately. That is, they are able to interpret situational information which in most cases is only implicitly given. This ability is in stark contrast to most of the current state-of-the-art computer and telecommunications systems, which in large are unaware of this context information. Consequently, there has recently been great interest in making applications more context-aware so that they can adapt to different situations and be more receptive to user's needs.
Some efforts have been made to aid this by broadcasting so called user presence information from user's Instant messaging programs (such as MSN Messenger, AIM etc.) in company phone books. This user presence status indicates the current situation of the user, e.g. if he is “idle”, “in a meeting” or “busy”. This presence status is useful as it allows for a person to decide whether it is appropriate to initiate communication or not. While this is certainly a step in the right direction, studies have shown that users are not always diligent about updating their presence status [1]. It is therefore desirable to derive presence information from other known data sources tied to a specific user.
Peddemors et al. [2] presented in their work a system, PLIM, which joined concepts of presence, location and IM in a new, extended IM system. It used a Bluetooth infrastructure to let a mobile device determine its current location. The PLIM system allowed also users to set rules that caused the system to update their presence to a given value when they were at a certain location. Although it may be effective and accurate in the given situations, it has the disadvantage of being rigid and largely unable to adapt to ever changing circumstances. There is also a problem when defining the actual rules for each given presence status. It is not always clear which context information that constitute e.g. the presence status “in a meeting”.
There has also been done prior work by Milewski et al. [3] where they suggest a live addressbook which helped users to make more informed telephone calls and teleconferences. It was, amongst other things, able to display dynamic information on where the recipient was as well as the availability of the user (i.e. presence status). In this, Milewski et al. used a manually set do-not-disturb flag, but found that people often forgot to clear the flag when they became available, to the point that people considered the flag unreliable and ignored it [3].
Microsoft' Coordinate project [4] uses learning probabilistic models of peoples' meeting attendance and behaviour. These models are derived from information on PC use, time of day and meeting attendance. It uses this to decide whether messages to users are important and decides the best way to route these to the user. However, in this project a user is largely “invisible” to the system if he or she is not sitting at their computer working.
Therefore, it is the object of the present invention to overcome the problems discussed above.